package com.java.demo14;

/*
 * 内部类的分类
 * 1.成员内部类
 * 2.方法内部类
 * 3.静态内部类
 * 4.匿名内部类
 * 成员内部类和局部内部类
 * 成员内部类（静态内部类，成员内部类）
 * 局部内部类（方法内部类，匿名内部类）
 * 如果类定义在方法里，方法内部类或局部内部类
 * 如果类定义在方法外，成员内部类。如再加上static，静态内部类
 * */
public class Test {
    public static void main(String[] args) {
        /*
        * 外界访问内部类
        * 一般开发中不能够直接访问内部类
        * DemoA.DemoB demoB = new DemoA().new DemoB();
        * */
//        DemoA.DemoB demoB = new DemoA().new DemoB();
//        demoB.funB();

        /*
         * 外界访问静态内部类
         * DemoA.DemoB demoB = new DemoA().new DemoB();
         * */
        DemoA.DemoC demoC = new DemoA.DemoC();
        demoC.funC();

        System.out.println("============================");


        /*
         * 外界访问局部内部类
         * DemoA.DemoB demoB = new DemoA().new DemoB();
         * */
        DemoA demoA = new DemoA();
        demoA.Demo();


    }
}
